package com.jwsoft.manager.common.vo.eduStudentEnroll;

import com.alibaba.fastjson.annotation.JSONField;
import com.bifang.assistant.common.vo.BasePageVO;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jwsoft.manager.common.vo.eduStudentEnrollVerification.EduStudentEnrollVerificationVO;
import com.jwsoft.manager.common.vo.eduStudentTj.EduStudentTjVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.ibatis.annotations.AutomapConstructor;

import java.util.Date;
import java.util.List;

/**
 * @author lvxk
 * @date 2022-03-18
 * @description
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Schema(name = "StudentFormVO", title = "我的报名实体类", description = "学生报名实")
public class StudentFormVO extends BasePageVO {

    @Schema(name = "studentEnrollId", title = "主键")
    private String studentEnrollId;
    @Schema(name = "applyId", title ="报名编号")
    private Long applyId;
    @Schema(name = "serialNum", title ="摇号序号")
    private Integer serialNum;

    @Schema(name = "formDetailId", title ="表单提交明细id")
    private String formDetailId;

    @Schema(name = "formId", title ="表单id")
    private String formId;

    @Schema(name = "formType", title ="表单类型(大类)")
    private String formType;

    @Schema(name = "configName", title ="报名类别")
    private String configName;

    @Schema(name = "configType", title ="配置类别(招生计划)")
    private String configType;

    @Schema(name = "configTypeName", title ="学段Name")
    private String configTypeName;

    @Schema(name = "orderNo", title ="排序字段")
    private Integer orderNo;

    @Schema(name = "childCardType", title ="证件类型")
    private String childCardType;

    @Schema(name = "childCardTypeName", title ="证件类型Name")
    private String childCardTypeName;

    @Schema(name = "birthYmd", title ="出生日期")
    private String birthYmd;

    @Schema(name = "sex", title ="性别")
    private String sex;

    @Schema(name = "sexName", title ="性别Name")
    private String sexName;

    @Schema(name = "admitFlag", title ="录取状态")
    private String admitFlag;

    @Schema(name = "admitFlagName", title ="录取状态Name")
    private String admitFlagName;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @Schema(name = "admitTime", title ="录取时间")
    private Date admitTime;

    @Schema(name = "admitRemarks", title ="录取意见")
    private String admitRemarks;

    @Schema(name = "childFullName", title ="学生姓名")
    private String childFullName;

    @Schema(name = "childIdcard", title ="学生身份证")
    private String childIdcard;

    @Schema(name = "childShortName", title ="学生小名")
    private String childShortName;

    @Schema(name = "householdPlace", title ="户籍地")
    private String householdPlace;

    @Schema(name = "address", title ="居住地")
    private String address;

    @Schema(name = "fatherName", title ="父亲姓名")
    private String fatherName;

    @Schema(name = "fatherIdcard", title ="父亲身份证")
    private String fatherIdcard;

    @Schema(name = "fatherWork", title ="父亲工作单位")
    private String fatherWork;

    @Schema(name = "fatherPhone", title ="父亲手机号")
    private String fatherPhone;

    @Schema(name = "motherName", title ="母亲姓名")
    private String motherName;

    @Schema(name = "motherIdcard", title ="母亲身份证")
    private String motherIdcard;

    @Schema(name = "motherWork", title ="母亲工作单位")
    private String motherWork;

    @Schema(name = "motherPhone", title ="母亲手机号")
    private String motherPhone;

    @Schema(name = "authStatus", title ="审核状态")
    private String authStatus;

    @Schema(name = "authStatusName", title ="审核状态Name")
    private String authStatusName;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @Schema(name = "authTime", title ="录审核时间")
    private Date authTime;

    @Schema(name = "authRemarks", title ="审核意见")
    private String authRemarks;

    @Schema(name = "year", title ="招生年度")
    private Integer year;
    @Schema(name = "schoolId", title ="报名学校Id")
    private String schoolId;
    @Schema(name = "schoolName", title ="报名学校")
    private String schoolName;
    @Schema(name = "icertificatioFlag", title ="是否需要现场核验 0 不需要 1 待核验 2核验通过 3 核验不通过")
    private String icertificatioFlag;

    @Schema(name = "schoolNature", title ="学校性质0.公办 1.民办")
    private String schoolNature;
    @Schema(name = "schoolNatureName", title = "学校性质0.公办 1.民办Name")
    private String schoolNatureName;
    @Schema(name = "schoolCategoryName", title ="学校类别Name")
    private String schoolCategoryName;
    @Schema(name = "schoolCategory", title ="学校类别")
    private String schoolCategory;
    @Schema(name = "aspirationType", title ="志愿类型 1 第一 2 第二 3 第三 以此类推")
    private String aspirationType;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @Schema(name = "createTime", title ="报名时间")
    private Date createTime;
    @Schema(name = "enrollStatus", title = "报名状态：0，待审核 1，待录取 2，已录取 3,业务不录取 4,系统不录取 5、未派中 ")
    private String enrollStatus;
    @Schema(name = "enrollStatusName", title = "报名状态：0，待审核 1，待录取 2，已录取 3,业务不录取 4,系统不录取 5、未派中")
    private String enrollStatusName;
    @Schema(name = "studentEnrollId", title ="审核截止日期")
    private String endAuditTime;
    @Schema(name = "deployFlag", title ="是否调配 0 否 1 是")
    private String deployFlag;
    @Schema(name = "basis", title ="调剂说明")
    private String basis;
    @Schema(name = "bbFlag", title ="是否补报：0否 1 是")
    private String bbFlag;
    @Schema(name = "spareRegisterFlag", title ="是否空额抢报 1.是 0.否")
    private String spareRegisterFlag;

    @Schema(name = "areaCode", title ="报名所属行政区划编码")
    private String areaCode;
    @Schema(name = "areaName", title ="报名所属行政区划名称")
    private String areaName;
    @Schema(name = "followFlag",title="是否长幼随学 0 否 1是")
    private String followFlag;
    @Schema(name = "followIdcard",title="随学的兄/姐身份证号码")
    private String followIdcard;
    @Schema(name = "followFullName", title = "随学的兄/姐姓名")
    private String followFullName;
    @Schema(name = "followType", title = "随学的需求类型：1 本校就读 2 随兄组到调剂学校入学")
    private String followType;
    @Schema(name = "followSchoolId", title = "随学的兄/姐学校id")
    private String followSchoolId;
    @Schema(name = "followSchoolName", title = "随学的兄/姐学校名称")
    private String followSchoolName;
    @Schema(name = "followSchoolClass", title = "随学的兄/姐学校年级班级")
    private String followSchoolClass;
    @Schema(name = "bindFlag",title="是否捆绑摇号 0 否 1是")
    private String bindFlag;
    @Schema(name = "bindIdcard",title="捆绑的身份证号码")
    private String bindIdcard;
    @Schema(name = "bindMianFlag",title="是否主摇号信息  0 否 1 是")
    private String bindMianFlag;
    @Schema(name = "followingFlag",title="是否非随迁子女 0 否 1 是")
    private String followingFlag;
    @Schema(name = "socialSecurityId", title = "报名使用社保id")
    private String socialSecurityId;
    @Schema(name = "netsignId", title = "报名使用网签id")
    private String netsignId;
    @Schema(name = "companyId", title = "报名使用企业id")
    private String companyId;
    @Schema(name = "livePlaceId", title = "居住证id")
    private String livePlaceId;
    @Schema(name = "tjStatus", title = "可调剂状态：1 不能调剂，2 待申请 3 已申请 4 调剂完成")
    private String tjStatus;
    @Schema(name = "tjList", title = "可调剂学校")
    private List<EduStudentTjVO> tjList;
    @Schema(name = "aborigineFlag", title = "是否原住居民")
    private String aborigineFlag;
    @Schema(name = "serviceFlag", title = "是否服务区")
    private String serviceFlag;
    @Schema(name = "configNameAlias", title = "招生类别别名")
    private String configNameAlias;
    @Schema(name = "configNameNum", title = "同类别序号")
    private Integer configNameNum;
    @Schema(name = "enrollNum", title = "第几轮报名")
    private Integer enrollNum;
    @Schema(name = "imitateFlag", title = "是否模拟报名 0 否 1是")
    private String imitateFlag;
    @Schema(name = "phone", title = "联系电话")
    private String phone;
    @Schema(name = "contacts", title = "联系人")
    private String contacts;
    @Schema(name = "canBack", title = "是否可撤销")
    private Boolean canBack;
    @Schema(name = "verificationVOList", title = "核验信息")
    private List<EduStudentEnrollVerificationVO> verificationVOList;
}
